package com.itlong.cloud.POJO.VO.property;

import com.itlong.cloud.enumerate.AppUserProjectStatusEnum;
import com.itlong.cloud.enumerate.AppUserRoomHouserTypeEnum;
import com.itlong.cloud.enumerate.AppUserRoomSourceEnum;
import com.itlong.cloud.enumerate.AppUserRoomStatusEnum;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.commons.lang.StringUtils;

/**
 * <desc>
 *      物业住户信息返回对象
 * </desc>
 *
 * @createDate 10:17 2017-09-30
 */
@Data
@NoArgsConstructor
public class AppUserInfoGetVO {
    private String userId;      //用户Id
    private String realName;        //用户姓名
    private String vipFlag;    //是否为vip用户 0否 1是
    private String phoneNum;    //用户手机号
    private String qqNum;           //QQ号
    private String userProjectStatus;      //用户项目状态：0冻结 1启用(AppUserProjectPO)
    private String userProjectStatusName;   //用户项目状态名称
    private String projectName;     //项目名称
    private String projectId;       //项目Id
    private String buildName;       //楼栋名称
    private String buildId;         //楼栋Id
    private String unitName;        //单元名称
    private String unitId;          //单元Id
    private String roomId;          //房间Id
    private String roomNum;         //房间号
    private String roomName;            //房间名称
    private String houserType;      //住户身份：1业主本人 2亲属 3租客
    private String houserTypeName;  //住户身份名称
    private Integer source;     //用户来源:1邀请 2注册 3管理员添加 4一卡通(AppUserRoomPO)
    private String sourceName;  //用户来源名称
    private Integer userRoomStatus;     //用户房间状态：1待审核 2迁入 3迁出 4未通过(AppUserRoomPO)
    private String userRoomStatusName;  //用户房间状态名称
    private String updateTime;          //更新时间
    private String createTime;        //创建住户房间信息时间
    private String createUserTime;      //创建住户信息时间
    private String isFace;      //是否有人脸，0-未认证，1-已认证，2-认证中，3-认证失败
    private String isBindingIdcard;      //是否绑定身份证，0-未绑定，1-已绑定
    private String isLoss;      //挂失状态:0 正常,1 挂失
    private Integer roomType;   // 房屋类型，1住宅 3办公
    private String userLabel;  //用户标签，1-VIP，2-障碍人士，多个英文逗号连接
    private String facePicUrl;
    private String roleName;        //角色组名称
    public String getUserProjectStatusName() {
        if(StringUtils.isNotBlank(userProjectStatus)) {
            return AppUserProjectStatusEnum.getDescription(Integer.parseInt(userProjectStatus));
        } else {
            return userProjectStatusName;
        }
    }

    public String getSourceName() {
        if(source != null) {
            return AppUserRoomSourceEnum.getDescription(source);
        } else {
            return sourceName;
        }
    }

    public String getUserRoomStatusName() {
        if(userRoomStatus != null) {
            return AppUserRoomStatusEnum.getDescription(userRoomStatus);
        } else {
            return userRoomStatusName;
        }
    }
}
